Infusion pump with safety sequence keypad

ABSTRACT

An infusion pump is configured to provide one or more context cues to a user while the user programs the infusion pump to deliver an infusion therapy. In some embodiments, the infusion pump includes a display configured to display a keypad and to receive input from a user, a processor in communication with the display, and a memory in communication with the processor. The memory stores instructions that cause a keypad sequence monitor to receive context parameters, the context parameters corresponding to a drug selection, a drug concentration selection, or a clinical care area in which the drug is to be infused. The keypad sequence monitor accesses a drug library using the context parameter to determine a valid parameter range corresponding to a range of values between lower and upper soft limit values stored in the drug library. The keypad sequence monitor is further configured to receive an treatment parameter value from the user and display one or more context cues upon determining that the received treatment parameter value is outside of a valid treatment parameter range, but would be within a valid treatment parameter range if one of the context parameters were changed.

TECHNICAL FIELD

This disclosure relates to the field of infusion pumps, and particularly to techniques for monitoring data entry actions by a user to minimize errors as the user enters data to program an infusion pump treatment therapy.

BACKGROUND

Infusion pumps for infusing one or more fluids into a medical patient are commonplace in modern healthcare environments. Such infusion pumps may be programmed by a user to infuse a particular drug according to various treatment parameters, such as dose, rate, volume, and/or duration of time. A drug library accessed by the infusion pump defines safe settings and limits for each treatment parameter. The safe settings and limits may vary depending upon one or more context parameters, such as the clinical care area in which the pump is located, the drug being infused, etc. An incorrectly selected context parameter by the user may cause the pump to utilize an incorrect set of safe settings or limits for the selected drug to be infused. In addition, typical pumps do not indicate to a user whether an entered value is within a valid range until the user completes the entry of the invalid value and confirms the submission to the infusion pump. It would be helpful for the pump to notify the user as soon as possible as to whether the entered value is valid, to guide the user as to keypresses that would result in a valid value, and to guide the user as to whether changing one or more context parameters would results in the out-of-range invalid value becoming an in-range valid value.

SUMMARY

Various techniques for providing a safety sequence keypad (or keyboard) are described herein. Although many of the examples are described in the context of a networked hospital environment, the techniques described herein can be applied to any networked or non-networked environment. The infusion pumps described herein sometimes be other medical devices, or non-medical devices, or any combination thereof. In various embodiments, a safety sequence keypad of an infusion pump is configured to provide feedback to a user after each key is pressed on the pump's keypad. The infusion pump does not wait until the user completes entering and submits an entered value to provide feedback as to whether the value is valid or not. Instead, the safety sequence keypad is able to indicate, based upon selected context parameters, the drug library, and a partial sequence entered by the user, all subsequent key presses that can result in a valid treatment parameter entry. Such keypad advantageously enables real time feedback to a user during data entry. The features described herein help prevent delivery of incorrect therapies and reduce clinical errors. These and other embodiments are described in greater detail below with reference to FIGS. 1-6.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments described herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like references indicate similar elements.

FIG. 1 is a schematic diagram of an example network environment including one or more networked infusion pumps in accordance with aspects of this disclosure.

FIG. 2 is a block diagram illustrating components of an example infusion pump in accordance with aspects of the present disclosure.

FIGS. 3A-3D illustrate example display screens of the infusion pump of FIG. 2 showing one implementation of a safety sequence keypad.

FIGS. 4A-4B illustrate example parameter limit tree structures showing examples of context parameters that may be used by the safety sequence keypad of FIGS. 3A-3D.

FIG. 5 illustrates an example context cue display method in accordance with aspects of this disclosure.

FIG. 6 illustrates an example keypad indicator display method in accordance with aspects of this disclosure.

DETAILED DESCRIPTION Introduction

An infusion pumps for infusing one or more fluids into a medical patient may be programmed by a user to infuse a particular drug according to various treatment parameters, such as dose, rate, volume, and/or duration of time. A drug library accessed by the infusion pump includes one or more rules that define predetermined safe ranges of values for the treatment parameters. For a given drug, the drug library may define lower and upper values of the treatment parameters that have been determined to be safe for use with the particular drug. The lower and upper values may be referred to as “soft limits.” The range of values between the lower and upper soft limits define a safe range of values of the treatment parameter of interest. For a given drug, the drug library may also define lower and upper values of each treatment parameters that may not be exceeded by the user under any circumstance. These lower and upper values may be referred to as “hard limits.” The pump will not allow the selection of a treatment parameter value that is below the lower hard limit or above the upper hard limit under any circumstance. Such rules are generally determined at least based upon the particular drug to be administered by the infusion pump. In addition, the rules for a given drug may vary based upon the concentration of the drug to be administered and/or the clinical care are of the hospital in which the drug is to be administered, and/or other drug library parameters.

The range of values between the soft and hard limits are values that may be selected by the user, but only after confirmation from the user that the user wishes to override the soft limit restriction. The pump keypad may provide the user with an override button for the user to provide such confirmation. Hard limit restrictions may not be overridden.

For example, a user may program a pump to deliver the drug dopamine (of a particular concentration, such as, for example, 400 mg/250 mL) to a medical patient. The pump may access a drug library and determine that the lower and upper hard limits for dosing this particular drug are 0 and 50 mcg/kg/min (micrograms of drug per kilogram of patient weight per minute). Therefore, the user will not be able to enter and submit a dosing value for this drug that is below 0 mcg/kg/min or above 50 mcg/kg/min. The user will not be able to override the hard limit restriction. The drug library may also indicate that the lower and upper soft limits for dosing this particular drug are 2.5 mcg/kg/min and 20 mcg/kg/min. Therefore, the user will not be able to enter and submit a dosing value for this drug that is below 2.5 mcg/kg/min or above 20 mcg/kg/min unless the user activates an override key to override the soft limit restriction. The user may enter and submit a value within the range defined by the lower and upper soft limits (e.g., between 2.5 mcg/kg/min and 20 mcg/kg/min) without restriction.

The user may program other treatment parameters, e.g., infusion rate, volume-to-be-infused (“VTBI”), and/or infusion duration in a similar manner. Selection of such treatment parameter values may be similarly restricted by lower and upper soft and hard limit values for each of such treatment parameters.

The drug library and/or the lower and upper soft and hard limit restrictions may be determined not only based upon the drug to be infused, but also based upon one or more context parameters. Such context parameters include, for example, the drug to be infused, the drug concentration, and/or the clinical care area in which the pump is located. The drug library that is utilized and/or the lower and upper soft and hard limit restrictions may vary based upon the any one or more of the context parameters, such as, for example, location of the infusion pump. If the infusion pump is located in a neonatal intensive care unit (NICU), for example, a drug library may be selected to provide smaller lower and upper soft and limit values for a drug than if the infusion pump were located at location in the hospital that provides treatment to grown adults.

In some cases, one or more of the context parameters may be incorrectly selected. For example, an infusion pump that was moved from one clinical care area (e.g., NICU) to another clinical care area (e.g., general floor) may not have had its clinical care area context parameter updated. As a result, the infusion pump may access an incorrect drug library or an incorrect portion of a drug library (e.g., in situations where a drug library includes soft and hard limit data for multiple CCAs administering the same drug under the same or different concentrations), such as a drug library (or drug library portion) that provides over- or under-restrictive hard and soft limits for a particular drug. As a result, the infusion pump could possibly indicate that an entered treatment parameter value (e.g., dose) is out of range when it is actually would be in range if the CCA context parameter value had been set to the correct value. In such cases it would be helpful for the infusion pump to indicate to the user whether changing a context parameter value, such as the clinical care area, would result in a change to the treatment parameter limits, such that the change to the treatment parameter limits would result in the entered treatment parameter value falling within a valid, acceptable range of treatment parameter values.

Overview of Analyzing User Input on a Keypress-by-Keypress Basis

In some implementations, an infusion pump described above receives and analyzes user input (e.g., user programming of the infusion pump) on a keypress-by-keypress basis. For example, the infusion pump analyzes each keypress (sometimes referred to as keystroke, input, etc.) and indicates to the user, based on the selected context parameters and the sequence of programming keypresses entered so far, whether a particular subsequent keypress will result in a valid or invalid treatment parameter value selection. Analyzing user input on such basis advantageously enables the pump to notify the user as early as possible as to whether an entered sequence represents a valid or invalid value with respect to the drug being delivered and selected context parameters.

For example, a value is typically entered by pressing a desired numerical sequence followed by an “ENTER” or “CONFIRM” key (or equivalent). Pressing the “CONFIRM” key causes the entered value to be submitted to the pump's processor for processing, such as, for example, to determine whether the value is valid, or not. If the value “15” is desired, the user would typically press the key “1” followed by the key “5” and then the “CONFIRM” key. Only after the “CONFIRM” key is pressed would a typical infusion pump then indicate whether the entered treatment parameter value (in this example, “15”) is a valid or not (e.g., within the limits defined by the drug library for the selected drug). In contrast, embodiments described herein indicate to the user whether the value “1” is a valid value immediately after the key “1” is pressed. In addition, the infusion pump will indicate which subsequent keypresses would result in a valid treatment parameter value entry before the next key is pressed. Similarly, after the key “5” is pressed, the pump will indicate whether the sequence entered so far (e.g., “15” in this example) is a valid entry, even prior to the user pressing the “CONFIRM” key. This advantageously allows the user to avoid entering and submitting an invalid value, and avoids having the hospital system record that the user has tried to submit an invalid value. It also allows for avoidance or immediate user awareness of and correction of common data entry errors, such as “fat fingers,” (when a user accidentally presses the incorrect key, such as a key adjacent to a desired key), accidental digit reversal before such data entry errors are submitted to the pump's processor for processing.

In addition, if the sequence of programming keypresses entered so far has resulted in an invalid treatment parameter value selection, the infusion pump display can also indicate to the user whether changing one or more context parameter settings would result in redefining the range of acceptable treatment parameter values such that the value entered would become within a valid range of treatment parameter values. For example, changing a context parameter could result in changing the drug library rule selected by the pump, which could result in different lower and upper soft and hard limit restrictions for a particular treatment parameter (e.g., dose, rate, volume-to-be-infused, infusion duration, etc.). Indications as to whether changing a particular context parameter setting would result in the entered treatment parameter value becoming a valid treatment parameter value are referred to as context cues. Techniques for analyzing keypresses on a keypress-by-keypress basis and providing context cues are described in greater detail below with reference to FIGS. 2-5.

With reference to FIG. 1, an example network environment in which one or more infusion pumps implementing one of the techniques of the present disclosure may be utilized is described. Following the discussion of FIG. 1, specific details of the various embodiments of the present disclosure are described with reference to FIGS. 2-5.

Overview of Example Network Environment

FIG. 1 illustrates one embodiment of a system for administering medication via an infusion pump in a network environment 100. The medication management system (MMS) shown in FIG. 1 includes a medication management unit (MMU) server 3108 and a medical device, such as infusion pump 3130, operating in conjunction with one or more information systems or components of a hospital environment.

Intravenous (IV) fluid(s) and/or medication(s) 3100 in containers 3102 may be administered to a patient 3104 using the system shown in FIG. 1. Although the system shown in FIG. 1 utilizes barcodes and a barcode reader as apparatus to input and read machine-readable information, those skilled in the art will appreciate that other apparatus for reading or inputting information may be utilized. Moreover, a point of care (POC) client 3126 may include an identification receiver 32 adapted to recognize such indicia may be provided in the MMS.

In certain aspects, the IV fluids and/or medications 3100 in container 3102 may be provided with new or supplemental labels with a unique infusion order identifying barcode by a pharmacist according to certain hospital practices. Specifically, drug container specific identification information, such as barcoded information on the container 3102 may include patient identification information, medication identification information, universal identification information, medical device delivery information, and/or medication order information. The IV fluids and/or medications 3100 in barcode-identified containers 3102 may be supplied to hospitals by various vendors, with preexisting unique barcode identifiers, which include medication information and other information, such as a National Disease Center (NDC) code, expiration information, drug interaction information, and the like.

In some aspects of the disclosure, the universal identification information on the container 3102 may be a unique medication order identifier that, by itself, identifies the order associated with the container. In other aspects, the identification information on the container 3102 may be a composite patient/order code that contains both a patient ID (such as a medical record number) and an order ID unique only within the context of the patient. In certain aspects, the identification information on the container 3102 may include a medication ID. The system identified in FIG. 1 may include a drug library editor (DLE) client 3106, such as a notebook, desktop or server computer. The DLE client 3106 may include DLE software. As described above, the MMU server 3108 may have MMU software that is installed and runs on the MMU server 3108. The drug library and other databases may be stored on the MMU server 3108, on a separate server, and/or in remote locations.

Hospital information systems (HIS) 3110 may include one or more computers connected by cabling, interfaces, and/or Ethernet connections. Alternatively, wireless connections and communications may be used in whole or in part. Servers provide processing capability and memory for storage of data and various application programs or modules, including but not limited to an admissions-discharge-and-transfer (ADT) module or computer 3112, a computerized physician order entry (CPOE) module or computer 3114, and a pharmacy information system (PIS) module or computer 3116. Hospital personnel, such as admission clerks 3118, physicians 3120, and pharmacists 3122, respectively, may be authorized to access these modules through client workstations connected to the servers in order to enter data, access information, run reports, and complete other tasks.

In the embodiment shown in FIG. 1, the HIS 3110 may also include a POC system 3125 including a server or POC computer 3124 (sometimes referred to as a barcode point of care server or computer), or the POC computer 3124 may be separate from the HIS 3110. The POC computer 3124 may act as a part of the POC system 3125 (sometimes referred to as the barcode point of care system or BPOC) and may be able to wirelessly communicate through a plurality of wireless communication nodes located throughout the hospital, utilizing a wireless communications protocol, such as IEEE 801.11, IEEE 802.11, or Bluetooth. The POC computer 3124 may communicate wirelessly with a portable thick client, POC client 3126, carried by a caregiver. The POC client 3126 may be a personal digital assistant (PDA) that includes significant memory, display, and processing capabilities. The POC client device may execute a variety of programs stored in its memory in some degree independently of the POC computer 3124.

In one embodiment of FIG. 1, the MMU server 3108 may be hard-wired to the DLE client 3106 and to a MMU client 3128. Alternatively, the MMU and DLE client functions may be combined onto a single client computer/workstation or may reside together with the MMU server 3108 on a single combined MMU/DLE server. The MMU server 3108 may reside in a location remote from the patient's room or treatment area. For instance, the MMU server 3108 may reside in a secure, climate controlled information technology room with other hospital servers, and computer equipment and its client terminals may be located in the pharmacy, biomedical engineering area, nurse station, or ward monitoring area. One MMU server 3108 may monitor, coordinate, and communicate with many infusion pumps 3130. For example, in one embodiment, the MMU software running on the MMU server 3108 may support up to one thousand infusion pumps concurrently.

In embodiment of FIG. 1, the POC client 3126 in the POC system 3125 may communicate through the POC server 3124 with the MMU server 3108. The MMU server 3108 may interface or communicate wirelessly with the infusion pump 3130 through the same wireless nodes utilized by the POC system 3125 and a connectivity engine and antenna on or in the infusion pump 3130. Communication between the infusion pump 3130 and the POC client 3126 may take place through the MMU server 3108 and POC server 3124. The MMU server 3108 may store in an associated memory both the logical ID and the network ID or Internet Protocol (IP) address of the infusion pump(s) 3130, such that only the MMU server 3108 may communicate in a direct wireless manner with the infusion pump 3130. Alternatively, the MMU server 3108 may provide the IP address and other information about the infusion pump 3130 to the POC system 3125 to facilitate direct communication between the POC system 3125 and the infusion pump 3130.

Upon admission to the hospital, the admission clerk 3118 or similar personnel may enter demographic information about each patient 3104 into an associated memory of the ADT module or computer 3112 of an HIS database stored in an associated memory of the HIS 3110. Each patient 3104 may be issued a patient identification wristband, bracelet, or tag 112 that may include an identifier 3103, such as a barcode or RFID tag, identifying the patient. The wristband, bracelet, or tag 112 may also include other information, in machine readable or human-readable form, such as the name of the patient's doctor, blood type, allergies, and the like.

The patient's doctor 3120 may prescribe medical treatment by entering a medication order into the CPOE module or computer 3114 within the HIS 3110. The medication order may specify a start time, stop time, a range of allowable doses, physiological targets, route, and site of administration. In the case of an order for infusion of fluids or medication, the order may be written in various formats, and may include the patient's name, patient ID number, a unique medication order or prescription number, a medication name, medication concentration, a dose or dosage, frequency, and/or a time of desired delivery. This information may be entered into the memory of the CPOE module or computer 3114, and may be stored in a memory associated with at least the POC server 3124.

The medication order may also be delivered electronically to the PIS module or computer 3116 in the pharmacy and may be stored in an associated memory. The pharmacist 3122 may screen the prescribed order, translate it into an order for dispensing medication, and prepare the medication or fluids with the proper additives and/or necessary diluents. The pharmacist 3122 may prepare and affix a label 102 with drug container specific identifying information 3101 to the medication or drug container 3102. The label may include in machine-readable and/or human-readable form medical device specific delivery information including but not limited to the dispense ID number, patient ID, drug name, drug concentration, container volume, volume-to-be-infused (“VTBI”), rate, duration, and the like. Only two of the three variables VTBI, rate, and duration may be defined as the third may be calculated when the other two are known. The labeled medication may be delivered to a secure, designated staging location or mobile drug cart on the ward or floor near the patient's room or treatment area. The medication order pending dispensing or administration may be posted to a task list in the HIS 3110 and POC system 3125 and stored in an associated memory.

The caregiver 3132 (e.g., a nurse) may use the identification receiver 32 associated with the POC client 3126 to scan his/her caregiver identification badge 116 and enter a password, which logs the caregiver into the system and authorizes the caregiver to access a nurse's task list from the POC system 3125 through the POC client 3126. The caregiver 3132 may view from the task list that IV drugs are to be administered to certain patients 3104 in certain rooms. The caregiver 3132 obtains the necessary supplies, including medications, from the pharmacy and/or a staging area in the vicinity of the patient's room.

The caregiver 3132 may take the supplies to a patient's bedside, turn on the infusion pump 3130, verify that the network connection icon on the infusion pump 3130 indicates a network connection (for example, a wireless connection such as Wi-Fi or the like) is present, select the appropriate clinical care area (CCA) on the infusion pump 3130, and mount the IV bag, container, or vial 3102 and any associated tube set as required in position relative to the patient 3104 and infusion pump 3130 for infusion. Another connection icon on the infusion pump 3130 or pump user interface screen can indicate that a wired or wireless connection to the MMU server 3108 is present. Using the identification receiver/reader integral to the POC client 3126, the caregiver 3132 may scan the barcode on the patient's identification wristband, bracelet, or tag 112 or other patient identification device. A task list associated with that particular patient may appear on the POC client 3126 screen. The task list, which may also include orders to give other forms of treatment or medication by other routes (oral, topical, etc.), may be obtained from the HIS 3110 via the POC server 3124 and communicated wirelessly to the POC client 3126. In one embodiment, the list is generated by matching the scanned patient ID with the patient ID for orders in memory within the POC server 3124. In another embodiment, the order information may be obtained by scanning the drug container specific identification information for associated orders in memory within the POC server 3124, through the following step(s).

The caregiver 3132 may scan the medication barcode label 102 containing medication container specific identification information 3101 on the medication container 3102 with the POC client 3126. The POC client 3126 may highlight the IV administration task on the task list and send the scanned medication container specific identification information, such as dispense ID information, from the medication container 3102, to the POC server 3124. The POC server may use the medication container specific identification information to pull together the rest of the order details and send them back to the POC client 3126. The POC client 3126 may then display an IV Documentation Form on its screen. One side of the IV Documentation Form screen may show the order details as “ordered” and the other side may be reserved for a status report from the infusion pump 3130. The status report from the infusion pump 3130 may be transmitted to the POC client 3126 through the POC server 3124 and MMU server 3108. The lower portion of the IV Documentation Form screen may provide the caregiver 3132 with instructions (like to scan the infusion pump 3130 barcode) or identify whether the pump is running or stopped.

The caregiver 3132 may then scan the barcode label 92 associated with the infusion pump 3130 (or pump channel if the pump is a multi-channel pump). The barcode label 92 may contain medical device specific identification information 3131, such as the logical name and/or logical address of the device or channel. The POC system 3125 then automatically bundles the information into a program pump request containing the “order details” and in one embodiment, without further interaction with the caregiver 3132, transmits this information to the MMU server 3108.

The program pump request may include at least some of the following information (in HIS/POC system format): a Transaction ID, which may include a Logical Pump ID, a Pump Compartment, a Pump Channel ID, a Reference Device Address, a Caregiver ID, a Caregiver Name, a Patient/Person ID (HIS identifier), a Patient Name, a Patient Birth Date & Time, a Patient Gender, a Patient Weight, a Patient Height, and an Encounter ID which may include a Room, a Bed, and a Building (including CCA). The program pump request may also include Order Information or “order details”, including an Order ID, a Start Date/Time, a Stop Date/Time, a Route of Administration, a Rate, a Duration of Infusion (Infuse Over), a Total Volume to be Infused (VTBI), an Ad Hoc Order Indicator, and Ingredients including HIS Drug Name or HIS Generic Drug Name, HIS Drug Identifier or HIS Generic Drug ID, Rx Type (Additive or Base), Strength w/units, and Volume w/units. The program pump request may further include Patient Controlled Analgesia (PCA) Orders Only information, such a PCA Mode-PCA only, Continuous only, or PCA and Continuous, a Lockout Interval (in minutes), a PCA Continuous Rate, a PCA Dose, a Loading Dose, a Dose Limit, a Dose Limit Time w/units, a Total Volume in vial or syringe, and Order Comments.

The MMU server 3108 may map or convert the wide range of expressions of units allowed by the HIS 3110 or POC system 3125 for POC client 3126 requests into the much more limited set of units allowed in the MMU server 3108 and infusion pump 3130. For example, the POC client 3126 request may express “g, gm, gram, or grams” whereas the MMU server 3108 and/or infusion pump 3130 may accept “grams” only. Infusion pump 3130 delivery parameters or infusion pump 3130 settings are mapped or converted from corresponding order information or “order details” of the program pump request.

The MMU server 3108 may store in an associated memory a mapping or translation table that keep track of the logical ID, serial number or other identifier of an infusion pump 3130 and the corresponding current network (static or dynamic) address (Internet Protocol (IP) address) or ID of the infusion pump 3130 on the network, which in this example is a wireless network. The MMU server 3108 may be able to translate or associate a given identifier of the infusion pump 3130 with its network address in the translation table and provide the network IP address to the requesting POC system 3125 or device. The MMU server 3108 may also store in an associated memory and/or look up the drug library applicable to the scanned infusion pump 3130 and/or convert the Drug ID and Strength from the pump program request into an index number of the medication at the desired strength or concentration from the drug library. The duration of the infusion may come from the POC system 3125 in hours and minutes and may be converted to just minutes for the infusion pump 3130 to recognize it. Volume or VTBI may be rounded to provide a value-specific and infuser-specific number of digits to the right of the decimal point. Units (of drug) may be converted to million units where appropriate. Patient weight may be converted and either rounded according to infuser-specific rules or not sent to the infuser.

Once the MMU server 3108 transforms the information from the program pump request into infusion pump settings or delivery parameters and other information in a format acceptable to the infusion pump 3130, the MMU server 3108 may wirelessly download a command message to the infusion pump 3130. If the infusion pump 3130 is not already equipped with the latest appropriate version of the hospital-established drug library, the MMU server 3108 may also automatically download a drug library to the infusion pump 3130. The hospital-established drug library may be maintained in a separate process undertaken by the biomedical engineer or pharmacist 3122 to place limits on the programming of the infusion pump 3130, as well as other infusion pump operating parameters such as default alarm settings for air in the line, occlusion pressure, and the like. The drug library may set up acceptable ranges or hard and/or soft limits for various drug delivery parameters in the infusion pump 3130.

The MMU server 3108 may also download to the infusion pump new versions, patches, or software updates of the infusion pump's internal operating system software. The infusion settings or delivery parameters and other information from the MMU server 3108 may be entered into the memory of the infusion pump 3130 and the infusion pump 3130 settings may automatically populate the programming screen(s) of the infusion pump 3130, just as if the caregiver 3132 had entered the information and settings manually. The infusion pump 3130 screen may populate with the name of the drug and drug concentration based on the drug library index number, patient weight, rate, VTBI, and/or duration. Further, the MMU server 3108 may transmit one or more synchronization signals or screen content display rules/parameters to the infusion pump 3130. A return message of confirmation signal may be sent to the MMU server 3108 by the infusion pump 3130 to indicate that the command message has been received. At this point, if necessary, the caregiver 3104 may manually enter any additional infusion settings or optional information that was not included in the command message.

The infusion pump 3130 may then prompt the caregiver 3132 to start the infusion pump 3130 by pressing the start button. When the caregiver 3132 presses the start button, a confirmation screen with the infusion settings programmed may be presented for confirmation and an auto-program acknowledgment message can be sent to the MMU server 3108 to forward without request (e.g., pushed in a near real-time manner) or provide to the POC system 3125 when requested or polled. When the caregiver 3132 presses the button to confirm, the infusion pump 3130 may begin delivering fluid according to the programmed settings. The infusion pump 3130 may send a status message to the MMU server 3108 indicating that the infusion pump 3130 was successfully auto-programmed, confirmed and started by the caregiver 3132, and is now delivering fluid. This information may also be displayed at the infusion pump. The MMU server 3108 may continue to receive logs and status messages wirelessly from the infusion pump 3130 periodically as the infusion progresses or when alarms occur.

The MMU server 3108 may report a portion of the initial status message to the POC client 3126 through the POC server 3124 (in MMU format) to indicate that the infusion pump 3130 has been auto-programmed and the caregiver 3132 has confirmed the settings. The MMU server 3108 may communicate to the POC system 3125 and/or at the infusion pump 3130 the actual Rate, VTBI, and Duration. A notation at the bottom of the screen of the POC client and/or the infusion pump may indicate that the infusion pump 3130 is running. The infusion pump 3130 may compare and give a visual, audio, or other type of affirmative signal if the pump information matches or acceptably corresponds with the ordered information. An initial determination of whether the pump information matches the order may be done in the MMU server 3108 and communicated to the POC client 3126 through the POC server 3124. Alternatively, the POC server 3124 or the infusion pump 3130 may make the necessary comparisons. If the pump information does not match the order, the infusion pump 3130 at the display 88 may output a visual, audio, or other type of negative signal, which may include an error message.

The caregiver 3132 may be prompted to review and press a save button on the infusion pump 3130 if the order has been begun as desired or any variations are acceptable. The MMU server 3108 may receive status, event, differences, and variation information from the infusion pump 3130 and pass such information to the POC system 3125. In a separate subsequent step, the nurse may electronically sign the record and presses a send button on the POC client POC client 3126 to send the information to the patient's electronic medication record (EMR) or medication administration record (MAR).

Other Environments

FIG. 1 illustrates one example environment in which the various display synchronization techniques of the present disclosure may be utilized. However, the embodiments described herein are not limited to such an environment, and may be applied to any networked or non-networked environment. An example infusion pump that may be used in one or more of such environments is described below with reference to FIG. 2.

Architecture of Infusion Pump

With reference to FIG. 2, the components of an example infusion pump are described in greater detail. The example architecture of the infusion pump 304 depicted in FIG. 2 includes an arrangement of computer hardware and software modules that may be used to implement aspects of the present disclosure. The infusion pump 304 may include many more (or fewer) elements and/or sub-elements than those shown in FIG. 2. It is not necessary, however, that all of these elements be shown in order to provide an enabling disclosure.

As illustrated, the infusion 304 includes a display 306, a processor 308, a network interface 310, and a memory 312, all of which may communicate with one another by way of a communication bus. The display 306 may display information generated or stored by the infusion pump 304 or any other information associated with the infusion pump 304. For example, infusion pump 304 may be used to deliver medication to a patient. In such a case, the display 306 may display the volume of the medication infused so far, the volume of the medication to be infused, the rate at which the medication is being infused, and the like. Examples of such displays are illustrated in FIG. 3A through FIG. 3D. The display 306 may also provide a keypad to the user for data entry and programming.

The processor 308 may receive information and instructions from other computing systems or services via a network. The processor 308 may also transmit information to and receive information from the memory 312 and further provide content to the display 306 for display. The network interface 310 may provide connectivity to one or more networks or computing systems in the network environment described herein. For example, the network interface 310 may be a serial port, a parallel port, or any other communication interface that can enable or facilitate wired or wireless communication according to any communication protocols such as Zigbee (e.g., IEEE 802.15.4), Bluetooth, Wi-Fi (e.g., IEEE 802.11), Near Field Communication (NFC), and the like.

The memory 312 may contain computer program instructions (grouped as modules in some embodiments) that the processor 308 can execute in order to implement one or more aspects of the present disclosure. The memory 312 may include RAM, ROM, and/or other persistent, auxiliary, or non-transitory computer-readable media. In some embodiments, the memory 312 stores an operating system that provides computer program instructions for use by the processor 308 in the general administration and operation of the infusion pump 304. As illustrated in FIG. 2, the memory 312 may include a keypad sequence monitor 312. In some embodiments, the keypad sequence monitor 312 implements various aspects of the present disclosure.

Although not shown in FIG. 2, the infusion pump 304 may further include one or more input devices such as a touch screen, mechanical buttons, or a voice recognition system. Further, the infusion pump 304 may include one or more additional storage devices for storing data generated by the infusion pump 304 or other data utilized in implementing aspects of the present disclosure.

Infusion Pump Displaying Context Cues Determined from User Keypresses

With reference now to FIGS. 3A-3D, example infusion pump displays illustrating keypress analysis on a keypress-by-keypress basis will be described. FIGS. 3A-3D illustrate embodiments of an infusion pump display 306. The display 306 includes various context parameters 502, 504, a graphical limit indicator 508, data entry fields 510, 512, 514, 516, a keypad 518, and various action buttons 520, 522. The context parameters include a drug selection field 502 and a clinical care area (“CCA”) selection field 504. The graphical limit indicator 508 indicates lower and upper hard limits (0 mcg/kg/min and 50 mcg/kg/min in the illustrated example) as well as lower and upper soft limits (2.5 mcg/kg/min and 20 mcg/kg/min in the illustrated example). The data entry (or treatment parameter) fields include a patient weight entry field 506, a drug dosing field 510, an infusion rate field 512, a volume-to-be-infused field 514, and an infusion duration field 516. The graphical limit indicator 508 may appear beneath a particular data entry field once the data entry field is selected. The numbers on the graphical limit indicator 508 will vary depending upon the selected context parameters and the selected data entry field. The keypad 518 includes various numerical keys 524 (digits 1-9 and a decimal point key), a backspace key 526 and an ENTER key 528. The numerical keys 524 are used by the user to input values into each of the data entry fields. The action buttons include a CANCEL key 520 and a CONFIRM key 522. The CANCEL key 520 may be used by the user to cancel all entries made, but not yet confirmed. The CONFIRM key 522 may be used by the user to confirm that all values entered are to be submitted to the infusion pump's microprocessor for further processing and to execute an infusion program according to the settings and values shown on the pump's display 306.

In the display 306 of FIG. 3A, the user has selected the drug DOPamine at a concentration of 400 mg/250 mL for infusion to the medical patient using the drug selection field. In one embodiment, when the drug selection field 502 is selected, a list of drugs at particular concentrations are presented in a drop-down menu. In the illustrated embodiment, the drug selection field 502 presents the user with the option to select drug and drug concentration via the same field (e.g., the dropdown menu may present “DOPamine—400 mg/250 mL” as one selectable value, and “DOPamine—200 mg/250 mL” as a second selectable value). In other embodiments (not illustrated) drug and drug concentration are independently selectable by the user via two distinct fields, such as a drug selection field 502 and a drug concentration selection field (not shown). For example, the drug “DOPamine” may be one of several drugs selectable by the user via the drug selection field 502, and the concentration “400 mg/250 mL” may be one of several drug concentrations selectable by the user via a drug concentration selection field (not shown). The methods described herein are applicable to both embodiments and references to using the drug selection as a context parameter 502 refers to using both a drug selection and drug concentration selection as context parameters. The user has also used the CCA selection field 504 to select the “Critical Care” CCA. Using one or more of these context parameters 502, 504 the infusion pump accesses a drug library and determines lower and upper soft and hard limits to be used by the pump to restrict further data entry and programming by the user. Since the user has selected the dose field 510 for setting the infusion therapy dose value, the lower and upper soft and hard limits are graphically displayed on a graphical limit indicator 508 positioned beneath the dose field 510. The graphical limit indicator 508 indicates that for the selected context parameters 502, 504, the lower and upper soft limits for the dosing parameter are 2.5 and 20 mcg/kg/min and the lower and upper hard limits for the dosing parameter are 0 and 50 mcg/kg/min, respectively. In the display 306 of FIG. 3A, the user has entered the value 10.5 mcg/kg/min, which between the lower and upper soft limits, and therefore a valid value that may be entered without restriction. In the illustrated embodiment, the user has also entered the patient's weight (in kilograms) in the patient weight field 506. The patient's weight is used as a treatment parameter in connection with the dose value (which may be entered in terms of mcg/kg/min or micrograms of drug per kilogram of patient weight per minute). In some embodiments, the dose value is entered in terms of mcg/min, or micrograms of drug per minute, independent of the patient's weight.

FIG. 3B-D illustrates a display 306 of an infusion pump where each keypress is analyzed and context cues and other indicators are activated to guide a user to enter a valid treatment parameter value. For example, a keypad sequence monitor (such as the keypad sequence monitor 312 of FIG. 2) may analyze each keypress and provide guiding indicators to the user to guide the user to enter a valid value. As in FIG. 3A, the user has selected the drug DOPamine at a concentration of 400 mg/250 mL for infusion to the medical patient using the drug selection field. In one embodiment, when the drug selection field 502 is selected, a list of drugs at particular concentrations are presented in a drop-down menu. As discussed above, both the drug selection and the drug concentration selection are both context parameters, whether selected simultaneously via a single drop down menu, or whether they are independently selected via separate drop down menus. The user has also used the CCA selection field 504 to select the “Critical Care” CCA. Using one or more of these context parameters 502, 504, the infusion pump accesses a drug library and determines lower and upper soft and hard limits to be used by the pump to restrict further data entry and programming by the user. Since the user has selected the dose field 510 for setting the infusion therapy dose value, the lower and upper soft and hard limits are graphically displayed on a graphical limit indicator 508 positioned beneath the dose field 510. The graphical limit indicator 508 indicates that for the selected context parameters 502, 504, the lower and upper soft limits for the dosing parameter are 2.5 and 20 mcg/kg/min and the lower and upper hard limits for the dosing parameter are 0 and 50 mcg/kg/min, respectively.

The after selecting the dose field 510 for data entry, the user has entered the value of 2 using a numerical key of the display 306 keypad 518. The display 306 responds by providing warnings to the user that the value of 2 is an invalid value, as it is between the lower hard limit and lower soft limit values defined by the drug library, as illustrated on the graphical limit indicator 508. However, because the value of 2 is below only the lower soft limit (and not below the lower hard limit), the soft limit restriction may be overridden by the user. The display 306 provides a warning indicator 530 to indicate that the value entered so far (“2” in this example) is invalid, but may be overridden. The warning indicator 530 includes a colorful outline around the keypad 518. In some embodiments, the warning indicator 530 can include a flashing area, such as a flashing key, or outline, and/or background portion of the display 306. An audible indicator may be provided in addition to or instead of the visual warning indicator 530.

The display 306 also now includes a lower limit override key 532, which may be selected by the user to override the lower soft limit defined by the drug library. In addition, a limit value warning indicator 534 is provided next to the field (the dose field 510, in this example) in which the invalid value (the value “2” in this example) has been entered. The limit value warning indicator 534 is presented as a downward pointing arrow to indicate that the entered sequence value is below the lower soft limit value, but greater than the lower hard limit value. The sequence value refers to a value associated with the sequence of numerical keys that have been pressed at a particular point in time. The sequence value will typically change after each numerical keypress on the keypad (including pressing the decimal point or BACKSPACE keys). For example, if the user initially presses the key “2,” the sequence value will be initially set to a value of 2. If the user next presses the key “4,” the sequence value will change to the value 24. If the user next presses the BACKSPACE key, the sequence value will change back to the value of 2.

In addition, the keypad sequence monitor determines that a subsequent keypress by the user could result in a valid treatment parameter value entry (e.g., a value between 2.5 and 20 mcg/kg/min, as defined by the drug library in this example). In the illustrated example, the user has entered the value 2 so far. Therefore, a subsequent keypress of the decimal point or the key zero (or the BACKSPACE key to delete the value 2), could result in a valid treatment parameter value entry. Any other numerical keypress would result in an invalid value (e.g., 21-29). Therefore, the decimal, “0” and BACKSPACE keys are further enhanced to include additional indicators to indicate to the user that the user may wish to consider pressing one of these keys if the user wishes to enter a valid dose parameter value. In the embodiment of FIG. 3B, the addition indicator includes an enhanced border and key background color that is different than the other numerical keys 524 of the keypad 518. Any other additional indicator may be provided in addition to, or instead of, the additional indicators of FIG. 3B.

The user next presses the key “4” on the keypad 518, as shown in FIG. 3C. Therefore, the sequence entered so far is “2” and “4”, which corresponds to a sequence value of 24. The sequence value is displayed in the dose field 510. In addition, the keypad sequence monitor determines that the sequence value is invalid because it violates (e.g., exceeds) the upper soft limit restriction, which is 20 mcg/kg/min in this example. However, because the sequence value does not violate the upper hard limit restriction (of 50 mcg/kg/min), the upper soft limit restriction may be overridden by pressing the limit override key 532. The limit override key 532 has changed to an upward pointing arrow to indicate that the entered sequence value is greater than the upper soft limit value. In addition, the limit value warning indicator 534 is presented as an upward pointing arrow to indicate that the entered sequence value is above the upper soft limit value, but less than the upper hard limit value.

In addition, indicators presented with the keys 524, 526 of the keypad 518 are further updated in response to the current sequence value (“24” in this example). Indicators are removed from all numerical keys because any subsequent numerical keypress would result in an invalid sequence value (e.g., 240-249). Indeed, the only subsequent keypress that could result in a valid sequence value is the BACKSPACE or DELETE key 526, which is highlighted. The indicator (e.g., highlighting, distinct color background, etc.) presented with the BACKSPACE key 526 indicates to the user that this is the only key that could result in a valid sequence value.

Furthermore, the keypad sequence monitor determines that even though the currently entered sequence value (“24”) is an invalid dose value, the keypad sequence monitor analyzes one or more context parameters to determine whether changing the context parameter could result in the entered sequence value (“24”) as being within a valid range. For example, as illustrated in FIG. 4A, the keypad sequence monitor can utilize a parameter limit tree 600 to determine whether a different context parameter would result in the selection of soft and hard limits that define a valid range within which the entered sequence value would fall. In one embodiment, the parameter limit tree 600 is part of a drug library.

The parameter limit tree 600 of FIG. 4A illustrates a generic architecture of one embodiment of a parameter limit tree. The parameter limit tree 600 includes multiple layers 602, 604, 606, and 608, although a different number of layers may be used. Each layer 602, 604, 606 may correspond to a different context parameter (e.g., clinical care area, drug, drug concentration, etc.). The bottom layer 608 may correspond to the soft and hard limit definitions for a particular combination of context parameters 602, 604, 606. The first layer 602 of the parameter limit tree 600 corresponds to different clinical care areas (“CCA”s) within the hospital. The second layer 604 corresponds to different drugs for delivery to the patient using the infusion pump. The third layer 606 corresponds to different drug concentrations. The bottom layer 608 corresponds to the lower and upper soft and hard limit definitions for a particular drug having a particular concentration when administered in a particular CCA.

For example, as indicated in the parameter limit tree 600 of FIG. 4B, the currently selected context parameters are CCA=Critical Care, Drug=Dopamine, and Concentration=400 mg/250 ml. These context parameters correspond to lower and upper soft and hard limit values as discussed above with respect to FIGS. 3A-3D (2.5 and 20 soft limits and 0 and 50 hard limits). However, in one embodiment, by analyzing the parameter limit tree 600, the keypad sequence monitor can determine that a different Concentration context parameter selection would result in a soft and hard limit definition that would define a valid range of parameter values into which the currently entered sequence value would fall. For example, if the context parameter for drug concentration were changed from 400 mg/250 ml to 200 mg/250 ml, the lower and upper soft limit values would change from 2.5 and 20 to 5.0 and 40. Since the currently-entered sequence value (24 in this example) would be within the new valid range defined by the new soft limit values (e.g., since 24 is within the range of 5.0 to 40), the keypad sequence monitor provides an indication to the user that changing this context parameter could result in the user's entered sequence value becoming a valid value. The keypad sequence monitor may also determine that changing the drug concentration to 100 mg/250 ml, or the CCA to ER would also result in the currently-entered sequence value becoming a valid value.

Therefore, referring now to FIG. 3D, the keypad sequence monitor can provide one or more context cues, or indicators, associated with one or more context parameters. For example, the keypad sequence monitor may highlight or otherwise indicate that a change to the drug concentration context parameter 502 or the clinical care area context parameter 504 may result in the currently-entered sequence value (“24” in this example) as becoming in range. One embodiment of such context cue shown as highlighted fields with different colored backgrounds, is illustrated in FIG. 3D. In this way, the user is not only warned that a data entry value is incorrect, but also highlights the particular context parameters that have led to the determination that the value is incorrect. The user is therefore provided an indication that changing one or more of such context parameter value would re-define the acceptable range of values such that the entered value would fall within the re-defined valid range, and provides the user an opportunity to adjust such context parameter value before submitting the value (e.g., via pressing the ENTER or CONFIRM key, or equivalent), to the infusion pump for further processing.

Method of Displaying Context Cues Determined from User Keypresses

With reference now to FIG. 5, an example context cue display method 700 will be described. The example method 700 may be performed, for example, by the infusion pump 304 of FIGS. 2-3D (or one or more components thereof, such as the keypad sequence monitor 312). The method 700 illustrates an example algorithm that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller of the infusion pump 304. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory of the infusion pump 304 that is coupled to the CPU or microcontroller and then then executed by the CPU or microcontroller. For convenience, the steps of the example method 700 are described as being performed by the keypad sequence monitor 312 of infusion pump 304.

The method 700 begins at block 702. At block 704 the keypad sequence monitor 312 initializes memory and variables based upon selected context parameters. For example, the keypad sequence monitor 312 may select and access a particular drug library, or drug library portion, based upon selected context parameters. Such context parameters may include a selected clinical care area, drug for infusion, and drug concentration. Additional or alternative context parameters may be selected, as well. Context parameters may be selected by a user via a display and keypad, including, but not limited to, any of the displays and keypads of FIGS. 3A-3D.

Using the drug library and context parameters, the keypad sequence monitor 312 may determine lower and upper soft and hard limits to be used by the keypad sequence monitor 312. Such limits will be used by the keypad sequence monitor 312 to determine whether a sequence value entered by the user for a particular treatment parameter are within a valid range, and if not, whether relevant limits may be overridden, and whether any context cues are available for display, as discussed below.

At block 706 the keypad sequence monitor 312 receives an initial keypress from the user. The keypress may correspond to a numerical value, such as any of the numerical values displayed on the keypad (e.g., 0-9, decimal point, and BACKSPACE or DELETE) or a functional key. Functional keys include context parameter selectors, fields into which data is to be entered by the user, and CANCEL or CONFIRM keys, as well as any other functional keys, including any functional keys described herein. One embodiment of such functional keys are illustrated above with respect to FIGS. 3A-3D.

If the keypress received by the keypad sequence monitor 312 is a numerical key, the method 700 proceeds to block 708, in which the entered sequence value is updated. For example, the sequence value is initially initialized to be blank. If the initially presses the key “2,” the keypad sequence monitor 312 updates the sequence value to be equal to the number 2. If the user subsequently presses the key “4,” the keypad sequence monitor 312 updates the sequence value to be equal to the number 24. The method 700 proceeds to block 710.

At block 710, the method 700 determines whether there are any available context cues to display. For example, if the sequence value falls outside of the valid range of values defined by the drug library (e.g., outside of the range of values between the lower and upper soft limit values), the keypad sequence monitor 312 may determine if there exists a context parameter that defines a valid range of treatment parameter values that would include the sequence value. The keypad sequence monitor 312 may use a parameter limit tree, such as the parameter limit tree 600 of FIGS. 4A-4B. Any other parameter tree, or any other method of determining whether such context parameter exists, may be used.

If there exists such context parameter, then the keypad sequence monitor 312 displays a context cue that corresponds to such context parameter. For example, if a different drug concentration corresponds to lower and upper soft and hard limit values that define a range of valid treatment parameter values that include the sequence value, then the keypad sequence monitor 312 can provide an indicator to the user to suggest changing the drug concentration. The context cue, or indicator, may be provided as a visual indicator on the display, such as by highlighting the context parameter on the display (for example, see FIG. 3D). The method 700 returns to block 706, where the keypad sequence monitor 312 received a subsequent keypress.

If at block 706 either the initial or any subsequent keypress corresponds to a functional key, the method 700 proceeds to block 712. At block 712 the method 700 performs the function corresponding to the functional key. For example, the method 700 may receive a user input to program a treatment parameter value, select a context parameter, or perform any of the functions described above, or any other function for programming the infusion pump. The method 700 then ends at block 714.

In some embodiments, the method 700 also provides one or more keypad indicators in response to user keypresses. Providing such keypad indicators is described below with respect to FIG. 6. For example, in some embodiments, the method 700 performs the functions associated with updating keypad indicators as described below with respect to block 810. Such functions may be performed prior to, after, or concurrently with the displaying available context cues, as discussed above with respect to block 710.

Method of Displaying Keypad Indicators in Response to User Keypresses

With reference now to FIG. 6, an example keypad indicator display method 800 will be described. The example method 800 may be performed, for example, by the infusion pump 304 of FIGS. 2-3D (or one or more components thereof, such as the keypad sequence monitor 312). The method 800 illustrates an example algorithm that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller of the infusion pump 304. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory of the infusion pump 304 that is coupled to the CPU or microcontroller and then then executed by the CPU or microcontroller. For convenience, the steps of the example method 800 are described as being performed by the keypad sequence monitor 312 of infusion pump 304.

The method 800 begins at block 802. At block 804 the keypad sequence monitor 312 initializes memory and variables based upon selected context parameters. For example, the keypad sequence monitor 312 may select and access a particular drug library, or drug library portion, based upon selected context parameters. Such context parameters may include a selected clinical care area, drug for infusion, and drug concentration. Additional or alternative context parameters may be selected, as well. Context parameters may be selected by a user via a display and keypad, including, but not limited to, any of the displays and keypads of FIGS. 3A-3D.

Using the drug library and context parameters, the keypad sequence monitor 312 may determine lower and upper soft and hard limits to be used by the keypad sequence monitor 312. Such limits will be used by the keypad sequence monitor 312 to determine whether a sequence value entered by the user for a particular treatment parameter are within a valid range, and if not, whether relevant limits may be overridden, and whether any context cues are available for display, as discussed below.

At block 806 the keypad sequence monitor receives an initial keypress from the user. The keypress may correspond to a numerical value, such as any of the numerical values displayed on the keypad (e.g., 0-9, decimal point, and BACKSPACE or DELETE) or a functional key. Functional keys include context parameter selectors, fields into which data is to be entered by the user, and CANCEL or CONFIRM keys, as well as any other functional keys. One embodiment of such keys are illustrated above with respect to FIGS. 3A-3D.

If the keypress received by the keypad sequence monitor 312 is a numerical key, the method 800 proceeds to block 808, in which the entered sequence value is updated. For example, the sequence value is initially initialized to be blank. If the initially presses the key “2” then the keypad sequence monitor 312 updates the sequence value to be equal to the number 2. The method 800 proceeds to block 810.

At block 810, the method 800 determines whether to update one or more keypad indicators, such as by highlighting or changing the color of a portion of the keypad display or key. Examples of such actions are discussed above with respect to FIG. 3B and FIG. 3C (e.g., decimal point, “0” and BACKSPACE keys are highlighted in FIG. 3B, and decimal point and “0” keys are subsequently un-highlighted in FIG. 3C). For example, the keypad sequence monitor can determine whether a subsequent keypress will result in sequence value that is within a valid treatment parameter value range. As discussed above with respect to FIG. 3B, if the lower and upper soft limits are, for example, 2.5 and 20, and the user initially presses the “2” key, the keypad sequence monitor can determine that only subsequently pressing the decimal, “0” or BACKSPACE keys could result in a sequence value that is within the valid range defined by the currently-used lower and upper soft limit values.

In addition, if the keypad sequence monitor determines that the entered sequence value is outside of the range defined by the lower and upper soft limit values, but within the range defined by the lower and upper hard limit values, the keypad sequence monitor can provide one or more indicators that the user may override the soft limit restriction. For example, indicators such as indicators 534, 530 and key 532 (as illustrated and discussed with respect to FIG. 3C) may be displayed in response to such determination. The method 800 returns to block 806, where the keypad sequence monitor receives a subsequent keypress.

If at block 806 the either the initial or any subsequent keypress corresponds to a functional key, the method 800 proceeds to block 812. At block 812 the method 800 performs the method corresponding to the functional key. For example, the method 800 may receive a user input to program a treatment parameter value, select a context parameter, or perform any of the functions described above, or any other function for programming the infusion pump. The method 800 then ends at block 814.

Other Considerations

It is to be understood that not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.

Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can function together.

The various illustrative logical blocks, modules, and algorithm elements described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, and elements have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.

The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, a processor may also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.

The elements of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module stored in one or more memory devices and executed by one or more processors, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium, media, or physical computer storage known in the art. An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The storage medium can be volatile or nonvolatile. The processor and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.

Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Further, the term “each,” as used herein, in addition to having its ordinary meaning, can mean any subset of a set of elements to which the term “each” is applied.

Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.

Unless otherwise explicitly stated, articles such as “a”, “an”, or “the” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B, and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.

While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As will be recognized, certain embodiments described herein can be implemented within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others. All such modifications and variations are intended to be included herein within the scope of this disclosure. Further, additional embodiments created by combining any two or more features or techniques of one or more embodiments described herein are also intended to be included herein within the scope of this disclosure. 

What is claimed is:
 1. An infusion pump configured to provide one or more context cues to a user while the user programs the infusion pump to deliver an infusion therapy, the infusion pump comprising: a display configured to display a keypad and to receive input from a user via the keypad; a processor in communication with the display; and a memory in communication with the processor and configured to store instructions that when executed by the processor cause the execution of a keypad sequence monitor configured to: receive one or more context parameters, the context parameters corresponding to a drug selection, a drug concentration selection, or a clinical care area in which the drug is to be infused; access a drug library using the context parameters to determine lower and upper soft limit values and lower and upper hard limit values corresponding to the context parameters, wherein a valid treatment parameter range associated with a treatment parameter corresponds to a range of values between the lower and upper soft limit values; receive a keypress via the keypad; update a sequence value based upon the keypress; determine that the sequence value is outside of the valid treatment parameter range; determine that an updated context parameter different from the received context parameters is associated with updated lower and upper soft limit values that define an updated valid treatment parameter range for the treatment parameter that includes the sequence value; and display one or more context cues corresponding to the updated context parameter.
 2. The infusion pump of claim 1, wherein the keypad sequence monitor is further configured to receive the one or more context parameters from the user via the keypad.
 3. The infusion pump of claim 1, wherein the keypad sequence monitor is further configured to receive the one or more context parameters over a network.
 4. The infusion pump of claim 1, wherein the drug library comprises the lower and upper soft and hard limit values.
 5. The infusion pump of claim 1, wherein the drug library comprises lower and upper soft and hard limit values for each combination of context parameters.
 6. The infusion pump of claim 1, wherein the keypress comprises a numerical value associated with the treatment parameter, and wherein the treatment parameter comprises one of a dose, an infusion rate, a volume to be infused, an infusion duration, or a patient weight.
 7. The infusion pump of claim 1, wherein the keypad sequence monitor is further configured to determine that the sequence value is outside of the valid treatment parameter range prior to receiving a keypress that indicates that the user wishes to store and execute the infusion pump program.
 8. The infusion pump of claim 7, wherein the keypress that indicates that the user wishes to store and execute the infusion pump program comprises an ENTER or RETURN keypress.
 9. The infusion pump of claim 1, wherein the keypad sequence monitor is further configured to display the one or more context cues by altering the appearance of the displayed context parameter that corresponds to the updated context parameter.
 10. The infusion pump of claim 1, wherein the keypad sequence monitor is further configured to update a keypad indicator in response to the received keypress, wherein the keypad indicator indicates which subsequent keypresses on the keypad would cause the sequence value to change and to become within the valid treatment parameter range.
 11. A method of providing one or more context cues to a user while the user programs an infusion pump to deliver an infusion therapy, the method comprising: receiving one or more context parameters, the context parameters corresponding to a drug selection, a drug concentration selection, or a clinical care area in which the drug is to be infused; accessing a drug library using the context parameters to determine lower and upper soft limit values and lower and upper hard limit values corresponding to the context parameters, wherein a valid treatment parameter range associated with a treatment parameter corresponds to a range of values between the lower and upper soft limit values; receiving a keypress via a keypad displayed on the infusion pump; updating a sequence value based upon the keypress; determining that the sequence value is outside of the valid treatment parameter range; determining that an updated context parameter different from the received context parameters is associated with updated lower and upper soft limit values that define an updated valid treatment parameter range for the treatment parameter that includes the sequence value; and displaying one or more context cues corresponding to the updated context parameter.
 12. The method of claim 11, wherein receiving the one or more context parameters comprises receiving the one or more context parameters from the user via the keypad.
 13. The method of claim 11, wherein receiving the one or more context parameters comprises receiving the one or more context parameters over a network.
 14. The method of claim 11, wherein the drug library comprises the lower and upper soft and hard limit values.
 15. The method of claim 11, wherein the drug library comprises lower and upper soft and hard limit values for each combination of context parameters.
 16. The method of claim 11, wherein the keypress comprises a numerical value associated with the treatment parameter, and wherein the treatment parameter comprises one of a dose, an infusion rate, a volume to be infused, an infusion duration, or a patient weight.
 17. The method of claim 11, further comprising determining that the sequence value is outside of the valid treatment parameter range prior to receiving a keypress that indicates that the user wishes to store and execute the infusion pump program.
 18. The method of claim 17, wherein the keypress that indicates that the user wishes to store and execute the infusion pump program comprises an ENTER or RETURN keypress.
 19. The method of claim 11, wherein displaying the one or more context cues comprises altering the appearance of the displayed context parameter that corresponds to the updated context parameter.
 20. The method of claim 11, further comprising updating a keypad indicator in response to the received keypress, wherein the keypad indicator indicates which subsequent keypresses on the keypad would cause the sequence value to change and to become within the valid treatment parameter range. 